

# 在变量和方法前添加  __
# 使用后的效果：类的内部可以使用，外部不能使用

# 私有属性
# __age
# 私有方法
# __foo()

class Person():
    def __init__(self,name,age):
        self.name = name
        self.__age = age    # 在变量名前加__这个变量就是私有变量 只能在‘类’的内部访问

    def __str__(self):
        return f'{self.name}年龄{self.__age}'

    def getAge(self):
        self.__foo()
        return self.__age-5

    # 私有方法，外部不可见
    def __foo(self):
        print('__foo')

p1 = Person('小丽',30)
print(p1.name)
# print(p1.__age)    # 因为 p1.__age时私有变量 所以无法用过外部进行访问 会出现报错

# print(p1)
print(p1.getAge())

# 外部不能直接调用
# p1.__foo()

